我正在开发一个Spring Hibernate项目,我有三个类
BaseEntity,Person&Owner.
Person延伸BaseEntity,Owner延伸Person.
public class BaseEntity {
private Integer id;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
public class Person extends BaseEntity {
private String firstName;
private String lastName;
Getters & Setters
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name="OWNERS")
public class Owner extends Person {
@Column(name="ADDRESS")
private String address;
@Column(name="CITY")
private String city;
@Column(name="TELEPHONE")
private String telephone;
Getter and Setters
Run Code Online (Sandbox Code Playgroud)
现在我想在一个表中映射三个类的所有属性Owner.任何人都可以帮我,我该如何映射?
我有一个基于xml的映射,我希望在注释中执行此操作
<class name="org.springframework.samples.petclinic.Owner" table="owners">
<id name="id" column="id">
<generator class="identity"/>
</id> …Run Code Online (Sandbox Code Playgroud) 我有两个类User和Role.他们有很多关系.
在User类中,我重写了toString方法
@Override
public String toString() {
return "User [userId=" + this.userId + ", profileName=" + this.profileName
+ ", firstName=" + this.firstName + ", lastName=" + this.lastName
+ ", email=" + this.email + ", socialEmail=" + this.socialEmail
+ ", accountEnabled=" + this.accountEnabled + ", accountNonExpired="
+ this.accountNonExpired + ", accountNonLocked=" + this.accountNonLocked
+ ", country=" + this.country + ", role=" + this.role + "]";
}
Run Code Online (Sandbox Code Playgroud)
在Role类中相同
@Override
public String toString() {
return "Role [roleId=" + roleId + ", users=" + …Run Code Online (Sandbox Code Playgroud) 我在服务层有一个异步方法,它从队列中读取消息.我需要将收到的消息发送给当前登录用户的订阅者.
在我的控制器中,我将用户取为
(CustomUserDetail)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但服务层中的相同代码抛出一个
NullPointerException.可能是因为SecurityContextHolder没有在同一个请求响应流中调用而是异步,但同时我认为Spring Security会在会话中保留所有用户安全数据.所以它应该工作正常.
任何人都可以建议解决方法.如何在服务层中获取登录用户?
我觉得一种可能的方法是,当控制器方法将消息推送到队列然后从服务层中的会话中检索用户时,可以将活动用户添加到会话中.
消息队列主要用于在服务器上执行异步任务,我最近阅读了有关Executor框架的内容,它也执行相同的操作,生成并管理线程以执行异步任务.谁能告诉我两者之间的区别?
来自 RabbitMQ文档
使用任务队列的优点之一是能够轻松并行工作。如果我们正在积压工作,我们可以添加更多工人,这样就可以轻松扩展。
我只是不清楚这里的工作人员是什么,是消息被推送到的工作队列还是消费者接收器代码或某些内部rabbitmq守护进程?谁能解释一下这一点。谢谢
我的应用程序中有3个Service类,每个类都是针对具有相应DAO接口及其实现类的特定功能而编写的.所有服务都有不同的包.
说我有
AService.java & ADAO.java ADAO接口注入AService.java类.同样我也有
BService.java & BDAO.java
CService.java & CDAO.java
Run Code Online (Sandbox Code Playgroud)
现在我想在AService.java中引用BDAO和CDAO实现类的一些方法
最好的方法是什么?
我在AService.java中注入了BDAO和CDAO.那会是一个好习惯吗?在这种情况下,服务紧密耦合.
我在各自的DAO中编写冗余代码.
我创建了一个通用的DAO并尝试从所有单独的DAO中提取所有常用方法并将其放入其中.这是一项艰巨的任务.此外,我不确定将来在哪种特定服务中需要哪种DAO方法.
我试图用Calender类获取当前日期.我在tomcat上运行我的Web应用程序.但我不明白为什么它将月份日显示为36.下面是我的代码.
SimpleDateFormat df = new SimpleDateFormat("YYYY/MM/DD hh:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println("Current Date Time : " + df.format(cal.getTime()));
Run Code Online (Sandbox Code Playgroud)
产量
Current Date Time : 2014/02/36 04:30:14
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释一天36岁怎么样?
Calender类是显示系统时间还是tomcat服务器运行自己的时间?
在我的应用程序中,我使用ajax向下滚动功能加载用户帖子.
for循环迭代花费太多时间,浏览器冻结直到显示结果.所以我实现了一个setTimeout方法来修复它,但由于某种原因,在调试时流不会进入setTimeout方法.
页面也是空白的,不会呈现数据.
success : function(responseJson) {
$("#loadingdata").toggle();
enableScrolling();
if($.isEmptyObject(responseJson)){
$("#noMorePosts").toggle();
disableScrolling();
paginationComplete=true;
}
$.each(responseJson, function (index) {
(function(index) {
setTimeout(function(index) { //the flow doesn't move inside this
var resp_JSON=responseJson[index];
var dateObj=resp_JSON.postCreationTime;
resp_JSON.postCreationTime = moment(dateObj).format("h:mm a, ddd, MMM Do YY");
var timeago = moment(dateObj).fromNow();
resp_JSON.timeago = timeago;
resp_JSON.username=userName;
var post_template = $('#homepostcontainertemplate').html();
Mustache.parse(post_template);
var post_info = Mustache.to_html(post_template, resp_JSON);
$('#homepublisherpostsdiv').append(post_info);
$('div').linkify();
});
})(index);
});
Run Code Online (Sandbox Code Playgroud)
当流程达到setTimeout时,它命中的下一个代码是jquery lib
我做得对还是错过了什么?
注意:我从服务器上获得了responseJson数据.如果没有setTimeout,数据将加载到页面上.
我在网上看了一篇文章.根据我的理解,下面代码的BigO应该是O(n).由于循环运行n次.但文章中的正确答案显示为O(1).随着解释
该代码声明恰好有4个变量:
i,j,k和t.4 =常数= O(1).
怎么样?
根据我的理解,循环运行n次因此O(n)
int fibonacci(int n)
{
int i = 0, j = 1, k, t;
for (k = 1; k <= n; ++k)
{
t = i + j;
i = j;
j = t;
}
return j;
}
Run Code Online (Sandbox Code Playgroud)
我正面临一个问题,我正在使用jquery.ui.richmedia.js.
"对象不支持此属性或方法"此错误正在发生
"toremoveTabs [i] .hide()"只是这行代码.我相信它与hide()方法有关,因为"toremoveTabs [i]"在代码中的其他地方工作正常.代码工作正常Mozilla和Chrome.
resetTabs:function () {
// remove unavailable tabs.
var toremoveTabs = [];
var toremoveTabNames = [];
this._forEachTab(function (tab, i, self) {
if (self._tabs) {
tab = $(tab);
var tabName = self._getTabName(tab.attr('content_id')).toLowerCase();
if (!(tabName in self._tabs)) {
toremoveTabs[i] = tab;
toremoveTabNames[i] = tabName;
}
}
});
this._appendTabs = null;
this._appendTabs = {};
for (var i in toremoveTabs) {
this._appendTabs[i] = [toremoveTabNames[i], toremoveTabs[i]];
toremoveTabs[i].hide();
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议解决方案/解决方案?
java ×8
hibernate ×3
spring ×3
java-ee ×2
javascript ×2
spring-mvc ×2
ajax ×1
algorithm ×1
architecture ×1
asynchronous ×1
calendar ×1
datetime ×1
jpa ×1
jquery ×1
jquery-ui ×1
messaging ×1
rabbitmq ×1
time ×1
url ×1