假设我有两个经典的非抽象JPA类:Person和Student.
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
// ...
}
@Entity
public class Student extends Person {
// ...
}
Run Code Online (Sandbox Code Playgroud)
现在有一些身份证的人进入大学并成为一名学生.我如何在JPA中处理这个事实并保持个人身份?
student = new Student();
student.setPersonData(person.getPersonData());
student.setId(person.getId());
entityManager.persist(student);
Run Code Online (Sandbox Code Playgroud)
上面的代码生成'传递给持久化的分离实体'异常,而使用entityManager.merge(student)分配的跳过id并创建具有新id的Person和Student的两个新实体.任何想法如何保持原始ID?
我有这个问题:
SELECT @rownum:=@rownum+1 'no', m.title, m.author, REPLACE(SUBSTRING_INDEX(m.content, ' ', 20), '<br>', ' '), m.viewed, m.hashid FROM book m, (SELECT @rownum:=0) r WHERE m.lang = ?1 AND m.title like CONCAT('%',?2,'%') ORDER BY m.title asc
Run Code Online (Sandbox Code Playgroud)
在@rownum:=@rownum+1MySQL的查询结果编号第Primefaces的一部分,目前没有一个设施,以显示一个编号列.
有没有办法显示Primefaces列编号而不必这样做@rownum:=@rownum+1?
如果没有,我可以使用纯粹的CriteriaBuilder方法构造上述查询吗?
我正在使用数据表,每行我有两个按钮,一个是"编辑"和一个"删除".
如果所讨论的行符合某个条件,我需要这些按钮是只读的,即禁用.我在JSF 2中看到,可以将参数传递给方法调用.在JSF 1.2中有什么相同的东西吗?
理想情况下我想要的东西(循环变量是循环,还有另一个bean,helper,它包含我想调用的方法):
<h:commandButton value="Edit"
disabled="#{helper.isEditable(loop.id)}" />
Run Code Online (Sandbox Code Playgroud)
在这种情况下,向bean 添加isEditable属性并不具有语义意义,并且在bean周围创建包装器对象是不切实际的.
提前致谢.