当我尝试在Hibernate中运行指定的select语句时,我遇到了一个内部服务器错误(没有写入Tomcat日志,只有500个错误)。运行传统的简单<code>select<code>语句时,我没有问题。
我正在将hibernate查询记录到我的控制台。工作正常的hibernate查询只是一个传统的select语句(从实体x中选择x
):
Hibernate:
select
trumpialis0_.TLDLID as TLDLID1_0_,
trumpialis0_.TLDLDNM as TLDLDNM2_0_,
trumpialis0_.TLDLMSG as TLDLMSG3_0_,
trumpialis0_.TLDLNAM as TLDLNAM4_0_,
trumpialis0_.TLDLDAB as TLDLDAB5_0_,
trumpialis0_.TLDLSTS as TLDLSTS6_0_
from
LIBRARY.TABLE trumpialis0_
where
trumpialis0_.TLDLSTS='W'
运行< code>select x.property时的hibernate查询...来自实体x
Hibernate:
select
trumpialis0_.TLDLDNM as col_0_0_
from
LIBRARY.TABLE trumpialis0_
where
trumpialis0_.TLDLSTS='W'
运行select的Java是:rows=em.createQuery("selectx.displayNamefrom X,其中x.webStatus='W'"). getResultList();
我的实体如下所示:
@Entity
@Table(name = "TABLE", schema = "LIBRARY")
@XmlRootElement
public class X {
private String id;
private String name;
private String displayName;
private String webStatus;
private String messagesPerMonth;
@Id
@Column(name = "TLDLID")
@GeneratedValue(strategy = GenerationType.AUTO)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
....
值得一提的是,我可以在Intellij中运行JPA-QL查询并返回我想要的列,但是当我这样做时,它们似乎丢失了列名。
有没有一种方法可以让我只选择某些属性?我不需要返回所有的东西,也真的不想强制转换为“返回对象”之类的东西。
我的问题是多方面的。
首先,我没有在选择语句中使用正确的语法。我真正需要做的是从现有实体的结果创建一个新实体。我终于在谷歌上意识到了这一点,并意识到通过调试器;我的代码直到之后才失败,我想对结果做些什么,而不是结果本身。
rows = em.createQuery("select NEW com.example.entities.Entity(list.id, list.name, list.displayName, list.messsagesPerMonth) from Entity list where list.webStatus = 'W'").getResultList();
现在,为了正确地完成这项工作,Intellij 足够聪明,警告我实体中不存在这样的构造函数,因此我必须基于这些值创建一个构造函数,并将其添加到我的其他生成的实体代码中。
最后,没有任何有用的调试就对Hibernate进行代码轰炸,这完全是我对OO的缺乏经验。
尽管允许将 null 值设置为 Entity 属性,但当您处理基于字符串的整个长度返回字符串的旧数据库时,您渴望在实体内部整理这些字符串,因为它们在从数据库返回后包含许多空格。
不幸的是,我这样做的方式只是getName()et的返回语句上的一个简单的deature.trim
()。
其他方法。
public String getMesssagesPerMonth() {
return messagesPerMonth;
}
我需要的是更健壮的东西,带有错误检查,这样如果属性设置为null
,它就不会尝试trim()
一个null
值。
public String getMesssagesPerMonth() {
if (messagesPerMonth != null) {
return messagesPerMonth.trim();
} else {
return messagesPerMonth;
}
}
问题内容: 我正在尝试执行此AJAX帖子,但是由于某些原因,我遇到了服务器500错误。我可以看到它在控制器中达到了断点。因此问题似乎出在回调上。任何人? 这是应该返回的字符串: 问题答案: 我怀疑服务器方法在通过断点后会引发异常。使用Firefox / Firebug或IE8开发人员工具查看您从服务器获得的实际响应。如果有异常,您将获得YSOD html,这应有助于您确定要查找的位置。 还有一件事
我在尝试进行返回JSON的ajax POST调用时出现内部错误。ajax调用来自JS页面: 这是我的Spring MVC调用方法: 问题是,我在这个类中只设置了几个字段(30个字段中有17个)。这是一个具有简单setter-getter的bean类。如果我设置了所有30个字段,效果很好。你能建议如何设置JSON响应,以便我可以纠正这个问题吗。
在使用包含非ASCII字符的cookie响应任何请求时,ColdFusion 11似乎会崩溃。IIS 8.5返回HTTP 500内部服务器错误(空白白页)。 复制的步骤: > 在Javascript控制台中运行以下命令,并尝试加载任何CFML页面:
我是新的角度6。我用spring boot开发了一个post服务,当我通过postman测试它时,它工作得很好,但当我用web浏览器测试它时,它给了我这个错误: HttpErrorResponse ;{headers:HttpHeaders,status:500,statusText:“ok”,URL:“http://localhost:8080/api/test/ordermiss”,ok:fa
我用wordpress和woocommerce(www.jescesole.eu)建立了一个网站。由于该网站在德国销售,我不得不在最近几天安装一个附加插件,woocommerce germanized(与polylang一起,以德语和意大利语查看内容),我升级了wp和所有插件,但当客户提交订单时,会出现一条内部服务器错误消息。我阅读了服务器错误日志,并报告了一条很长的错误消息: 周四,13四月20
目前我面临一个问题。好的,让我分享一下。 我已经将这个项目部署到服务器中,它工作正常,所有操作都成功。但是突然它在登录时基本上得到了。当我下载日志时,它会显示。当我再次重新启动我的服务器时,它再次顺利工作。但我认为这需要一个永久的解决方案。我也喜欢分享日志的完整跟踪。 技术:python3.6