我有一个带有事件列表的java实体类UserBean:
@OneToMany
private List<EventBean> events;
Run Code Online (Sandbox Code Playgroud)
EventBean有Date变量:
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date eventDate;
Run Code Online (Sandbox Code Playgroud)
现在在UserBean中,我想创建一个NamedQuery,它返回特定范围内的所有日期:
@NamedQuery(name="User.findEventsWithinDates",
query="SELECT u.events FROM UserBean u WHERE u.name = :name AND u.events.eventDate > :startDate AND u.events.eventDate < :endDate")
Run Code Online (Sandbox Code Playgroud)
上面的查询不能编译.我收到此错误:
The state field path 'u.events.eventDate' cannot be resolved to a valid type.
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我使用EclipseLink版本2.5.0.v20130507-3faac2b.
我该怎么做才能使这个查询工作?谢谢.
我正在尝试将 MySql 数据库迁移到 Postgresql。我正在使用 JPA,并使用 Eclipse Link 作为 MySQL 数据库,但我正在切换到 Hibernate 作为 Postgresql 数据库。
以下 JPA 注释可与 EclipseLink 配合使用:
UserBean.java:
@OneToMany(mappedBy = "sender", cascade = CascadeType.ALL)
@JoinTable(name = "MESSAGES_SENT")
private List<MessageBean> messagesSent;
@OneToMany(mappedBy = "receiver", cascade = CascadeType.ALL)
@JoinTable(name = "MESSAGES_RECEIVED")
private List<MessageBean> messagesReceived;
Run Code Online (Sandbox Code Playgroud)
MessageBean.java:
@ManyToOne
private UserBean sender;
@ManyToOne
private UserBean receiver;
Run Code Online (Sandbox Code Playgroud)
使用 Hibernate,我收到以下错误消息:
org.hibernate.AnnotationException:标记为mappedBy的关联不得定义数据库映射,如@JoinTable或@JoinColumn
我怎样才能让它与 Hibernate 一起工作?重要的是数据库架构不要更改,因为我想将 MySql 数据库转储到 Postgresql 数据库中,而不修改任何表或列名。
干杯,
多米尼克
我有一个包含许多SVG的文件夹.在所有SVG中,我需要删除具有特定ID的标记.有太多的文件可以手工完成,所以我一直在研究一个shell脚本为我做这个,但是无法弄清楚如何使用xmlstarlet来删除标签.
例如,假设我们有foo.svg:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="delete"/>
<g id="keep"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
然后发出命令: xmlstarlet ed -d "g[@id='delete']" foo.svg > bar.svg
会导致:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="keep"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
,但事实并非如此.bar.foo仍然包含<g id="delete"/>.
有谁知道删除<g id="delete"/>标签的正确命令?或者我可以使用任何其他工具来批量处理SVG文件来摆脱不需要的标签?
干杯,多米尼克
我在使用Hibernate Spatial和PostGIS时遇到问题.我有一个像这样的字段的实体:
public class LocationBean {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Type(type = "org.hibernate.spatial.GeometryType")
private Point location;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我无法从数据库中加载任何这些实体,除非该实体的location为null.如果它不为null,我会收到以下错误:
Exception: Can't convert object of type org.postgresql.util.PGobject
javax.el.ELException: /protected/topPanel/searchBar.xhtml @27,57 completeMethod="#{toppanelbb.completeSearchBar}": java.lang.IllegalArgumentException: Can't convert object of type org.postgresql.util.PGobject
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
at org.primefaces.component.autocomplete.AutoComplete.broadcast(AutoComplete.java:337)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:931)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:253)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at …Run Code Online (Sandbox Code Playgroud) jpa ×3
eclipselink ×2
hibernate ×2
postgresql ×2
jpql ×1
mysql ×1
named-query ×1
postgis ×1
shell ×1
svg ×1
xmlstarlet ×1