可能重复:
使用JPA选择前1个结果
我希望在写下以下查询时根据我的表'MasterScrip'提交的'totalTradedVolume'获取前10个结果:
Collection<MasterScrip> sm=null;
sm=em.createQuery("select m from MasterScrip m where m.type = :type order by m.totalTradedVolume limit 2").setParameter("type", type).getResultList();
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [select m from MasterScrip m where m.type = :type order by m.totalTradedVolume limit 2], line 1, column 78: unexpected token [limit].
Internal Exception: NoViableAltException(80@[])
Run Code Online (Sandbox Code Playgroud)
我的jpa查询有问题.任何人都可以纠正我吗?
我是Haskell和Yesod的新手,我正在尝试构建一个可以从外部API回答查询的简单Web应用程序.我已经构建了一个解析器(使用Parsec),它获取了我想要作为常规Int值加载的实体的ID.
但是,我对于我的生活无法弄清楚如何将这个Int变成get可接受的东西(即a Key(?)).文档中的所有示例仅从先前插入或从url dispatch获取id.
任何帮助将不胜感激,因为我似乎被困... :)
我有一个现有的系统,它在GUI和服务器之间使用基于protobuf的通信协议.现在我想添加一些持久性,但目前protobuf消息直接转换为第三方自定义对象.
有没有办法将原型消息转换为json,然后可以将其保存到数据库.
注意:我不太喜欢将二进制protobuf写入数据库的想法,因为它有一天会变得不能与新版本向后兼容并以这种方式破坏系统.
我来自Java背景,并且最近已经为一个项目切换到了php.我在php中发现了一个意外的行为.
设置为某个静态变量的值 不会在 请求中保持持久性.
我不确定这是否是预期的行为.因为在java中,您始终可以持久保存非常常用的变量,或者在请求中说出dbname,hostname,username,password等常量,这样您就不必总是从本地属性文件中读取它们.
这种行为是否正常?如果它是正常的那么有没有其他方法可以保持分配给请求中的变量的值?
有人可以建议我在PHP中更好的方法吗?
我知道如何在gVim中设置初始窗口大小,但是如何让它自动恢复上一个会话的窗口尺寸?这甚至可能吗?
假设我有这样的事情:
d = { "abc" : [1, 2, 3], "qwerty" : [4,5,6] }
Run Code Online (Sandbox Code Playgroud)
什么是最简单的方法,以程序方式将 其转换为我以后可以从python加载的文件?
我可以以某种方式将其保存为python源(从python脚本中,而不是手动!),然后import它呢?
或者我应该使用JSON还是其他什么?
我有一个使用连接表建模的一对多关系:
create table t1 (id int primary key, name varchar(10) /*...*/);
create table t2 (id int primary key, name varchar(10) /*...*/);
create table t1_t2 (t1_id int, t2_id int, primary key (t1, t2));
Run Code Online (Sandbox Code Playgroud)
这些表应该模拟一个t1到多个t2的关系.使用JPA对这些表建模的正确方法是什么?
我已经以两种方式看到(并完成了)数据源配置(下面的代码仅用于演示):
1)配置内部持久性单元,如:
<persistence-unit name="LocalDB" transaction-type="RESOURCE_LOCAL">
<class>domain.User</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
<property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost"/>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="hibernate.c3p0.min_size" value="5"/>
....
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
</properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)
2)配置spring配置文件(如applicationContext.xml):
<bean id="domainEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="JiraManager"/>
<property name="dataSource" ref="domainDataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="false"/>
<property name="showSql" value="false"/>
<property name="databasePlatform" value="${hibernate.dialect}"/>
</bean>
</property>
</bean>
<bean id="domainDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${db.driver}" />
<property name="jdbcUrl" value="${datasource.url}" />
<property name="user" value="${datasource.username}" />
<property name="password" value="${datasource.password}" />
<property name="initialPoolSize" value="5"/>
<property name="minPoolSize" value="5"/>
.....
</bean> …Run Code Online (Sandbox Code Playgroud) 我试图建立JPA与第一次用这个测试项目中的Hibernate实现.遇到以下错误:
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: ExamModulePu] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:924)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:59)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at service.tests.ExamServiceTest.main(ExamServiceTest.java:18)
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on entities.Question.examId references an unknown entity: long
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:109)
at org.hibernate.cfg.Configuration.processEndOfQueue(Configuration.java:1536)
at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1457)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1365)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1756)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
Run Code Online (Sandbox Code Playgroud)
这些是我的实体:
@Entity
public class Exam implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private int numQuestions;
private int minutesAllotted;
private Date startDate;
private Date …Run Code Online (Sandbox Code Playgroud)