我想尝试新的Batoo JPA api。 但我想知道如果没有在persistence.xml中定义实体类,Batoo是否也可以工作。如果从persistence.xml中删除标记(例如:org.batoo.jpa.community.test.t1.Service),则测试用例org.batoo.jpa.community.test.t1.T1会失败,尽管此Service类已正确注释@Entity注释! 我认为后者应该足以满足JPA规范。
答案 0 :(得分:0)
不,在Java SE环境中,使用@Entity进行注释并不能保证足够。在JPA 2.0规范中,用以下词语告知:
必须在中指定所有命名的托管持久性类的列表 Java SE环境以确保可移植性。便携式Java SE 应用程序不应该依赖于此处描述的其他机制 指定持久性单元的托管持久性类。 持久性提供程序可能要求实体类和 必须在每个中完全枚举要管理的类 Java SE环境中的persistence.xml文件。