다음과 같은 문제가 있습니다. 어쩌면 디자인이 그렇게 좋지는 않지만 더 좋은 디자인을 찾을 수는 없었습니다.엔티티 클래스의 Enumeration에서 EntityManager 사용
내가 엔티티 클래스 Device.java
@Entity (name = "device")
public class Device {
public enum DeviceType {
STROM,
LICHT,
TEMPERATUR,
LUFTFEUCHTIGKEIT,
BEWEGUNG,
DIMMEN
};
public static enum HomematicAttribute {
STATE,
TEMPERATURE,
HUMIDITY,
LOWBATTERY,
MOVEMENT,
LEVEL
}
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
private Integer id;
// Some other fields and getter and setter
을하고 난 그 클래스/단체
public static enum HomematicDeviceName {
LICHT_FRONT("HM_DEVICE_LICHT_FRONT", DeviceType.DIMMEN, HomematicAttribute.LEVEL),
LICHT_GANG("HM_DEVICE_LICHT_GANG", DeviceType.DIMMEN, HomematicAttribute.LEVEL),
...
// constructor and getters
@PersistenceContext
EntityManager em;
@EJB
private DatabaseServiceLocal databaseService;
public Device getDevice() {
if(em == null) System.out.println("Entitymanager ist null innerhalb der Enumeration ...");
if(databaseService == null) System.out.println("databaseService ist null innerhalb der Enumeration ...");
System.out.println("----");
return (Device) em.createNamedQuery(Device.findByIdentifier).setParameter("identifier", databaseKey).getSingleResult();
}
}
모두 그들 안에이 열거를 가지고 databaseService가 null입니다. 목표는 열거 형 및 다른 방법으로 엔티티를 가져 오는 것입니다. 나는 실체와 일하고 싶지 않다. 대신 열거 형을 사용하여 작업하고 싶지만 때때로 엔티티가 필요합니다. 그래서 저는 열거 형에서 장치 엔티티를 가져 오기 위해 이와 같은 작업을 수행 할 수 있다고 생각했습니다.
누구나 아이디어가 있습니까?
덕분 Hauke
의존성 주입은 열거 형 내부에서 좋을 것입니다. 그러나 그것을 메서드에 전달하는 아이디어는 그렇게 나쁘지 않습니다. 별로 좋지는 않지만, 적어도 그렇게하면 효과가 있습니다. 감사합니다. – Hauke