如何使用接口和 JPA
2022-09-02 10:35:15
我应该首先说,我对Java EE相当陌生,而且我还没有很强的Java理论背景。
我很难掌握如何在Java中一起使用。为了说明我发现困难的事情,我创建了一个非常简单的例子。JPA
interfaces
如果我有两个简单的接口和:Person
Pet
public interface Person
{
public Pet getPet();
public void setPet(Pet pet);
}
public interface Pet
{
public String getName();
}
以及实现的实体以及实现的实体:PersonEntity
Person
PetEntity
Pet
@Entity
public class PersonEntity implements Person
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private PetEntity pet;
@Override
public void setPet(Pet pet)
{
/* How do i solve this? */
}
}
@Entity
public class PetEntity implements Pet
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String name;
/* Getters and Setters omitted */
}
在要持久保存上述两个实体之间的关系的方法中,如何正确处理这种情况?setPet
我想使用接口的主要原因是因为我想保持模块/层与公共接口之间的依赖关系。否则,我如何避免从例如我的ManagedBean直接获得实体的依赖关系?
如果有人建议不要在实体上使用接口,那么请解释一下有哪些替代方法或模式。