Tag: entity relationship

objectify-appengine – 嵌入式类 – 不是受支持的属性类型

我正在谷歌应用引擎上尝试objectify(版本2.2.3)嵌入式类示例(wiki)。 我收到此错误: java.lang.IllegalArgumentException:one:com.mypkg.LevelOne不是受支持的属性类型。 在com.google.appengine.api.datastore.DataTypeUtils.checkSupportedSingleValue(DataTypeUtils.java:184) 我的代码与Wiki中的代码相同。 控制器中的部分: EntityWithEmbedded ent = new EntityWithEmbedded(); ent.one = new LevelOne(); ent.one.foo =“Foo Value”; ent.one.two = new LevelTwo(); ent.one.two.bar =“条形值”; EntityWithEmbedded类: import javax.jdo.annotations.Embedded; import javax.persistence.Entity; import javax.persistence.Id; @实体 公共类EntityWithEmbedded { @Id public Long id; @Embedded public LevelOne one; // getter&setters here } class级一级: import javax.persistence.Embedded; 公共课LevelOne { public String foo; public […]

Embeddable类中的外键映射

我正在使用eclipselink进行JPA 。 我有一个实体,它有一个由两个字段组成的复合键 。 以下是我的可嵌入主键类’字段(成员)。 @Embeddable public class LeavePK { @ManyToOne(optional = false) @JoinColumn(name = “staffId”, nullable = false) private Staff staff; @Temporal(TemporalType.TIMESTAMP) private Calendar date; //setters and getters } 我的实体将保留与员工相关的休假数据,因此我尝试将员工对象和离开日期结合起来以生成组合键。 除了我的逻辑,它不允许我在嵌入类中有一个外键映射。 当我尝试使用JPA工具 – >从实体生成表时 ,它会给出如下错误,这解释了,但我没有得到它。 org.eclipse.persistence.exceptions.ValidationException Exception Description: The mapping [staff] from the embedded ID class [class rs.stapp.entity.LeavePK] is an invalid mapping for this […]

带有JTA的JPA:持久化实体并合并级联子实体

我与以下实体类具有双向一对多关系: 0或1个客户 0个或更多产品订单 当持久化客户端实体时,我也希望持久化相关的产品订单实体(因为它们的“父”客户端的外键可能已被更新)。 当然,所有必需的CASCADE选项都在客户端设置。 但是,如果在引用现有产品订单时第一次持久保留新创建的客户端,则不起作用 ,如下所示: 产品订单“1”已创建并保留。 工作良好。 创建客户’2’并将产品订单’1’添加到其产品订单列表中。 然后它坚持下去。 不起作用。 我尝试了几个apporaches,但没有一个显示预期的结果。 请参阅下面的结果。 我在这里阅读了所有相关问题,但他们没有帮助我。 我在GlassFish 3.1.2上的Apache Derby(JavaDB)内存数据库中使用EclipseLink 2.3.0,纯JPA 2.0注释和JTA作为事务类型。 实体关系由JSF GUI管理。 对象级关系管理工作(除了持久),我用JUnit测试测试它。 方法1)“默认”(基于NetBeans类模板) 客户: @Entity public class Client implements Serializable, ParentEntity { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(mappedBy = “client”, cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}, fetch= FetchType.LAZY) […]