本着与CriteriaQuery相关的类型安全的精神,JPA 2.0还有一个API来支持实体的Metamodel表示.
是否有人知道这个API的全功能实现(生成Metamodel而不是手动创建元模型类)?如果有人也知道在Eclipse中设置它的步骤,那将是非常棒的(我假设它就像设置注释处理器一样简单,但你永远不知道).
编辑:偶然发现了Hibernate JPA 2 Metamodel Generator.但问题仍然存在,因为我找不到jar的任何下载链接.
编辑2:少顷已经过去了,因为我问过这个问题,但我想我会回来,并添加一个链接到SourceForge上的Hibernate JPA模型生成项目
我正在尝试使用maven插件将maven java项目的源文件夹添加到Eclipse.
尝试使用org.codehaus.mojo插件时,我收到以下错误
未能执行目标org.codehaus.mojo:建立辅助性Maven的插件:1.7:添加源(默认CLI)项目应用程序框架:参数"来源"为目标org.codehaus.mojo:建立辅助-maven-plugin:1.7:add-source缺失或无效 - > [帮助1]
通过阅读http://mojo.codehaus.org/build-helper-maven-plugin/usage.html上的文档,这应该是正确的吗?文件夹target/sources/mygeneratedfiles on存在.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/sources/mygeneratedfiles</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) java se 6项目是否支持eclipselink jpa2的标准api?如果没有,那就是我的问题.我是否需要在persistence.xml中为条件api指定任何特殊内容?
这是我的标准查询:
final EntityType<Meaning> Meaning_ = em.getMetamodel().entity(Meaning.class);
final CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Integer> cq = cb.createQuery(Integer.class);
final Root<Meaning> meng = cq.from(Meaning.class);
cq.where(meng.get(Meaning_.lastPublishedDate)); //this attributes are not recognized/found
cq.select(meng.get(Meaning_.objId)); // " "
TypedQuery<Integer> q = em.createQuery(cq);
return q.getResultList();
Run Code Online (Sandbox Code Playgroud)
这是我的意义实体:
@Entity
public class Meaning implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int objId;
public int getObjId() {
return objId;
}
@Temporal(javax.persistence.TemporalType.DATE)
private Date lastPublishedDate = null;//never
public Date getLastPublishedDate(){
return lastPublishedDate;
} …Run Code Online (Sandbox Code Playgroud)