- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个应用程序(使用注释的 Spring 4 MVC+Hibernate 4+MySQL+Maven 集成示例),使用基于注释的配置将 Spring 与 Hibernate 集成。
我有这个实体:
@Entity
@Table(name = "application")
@NamedQueries(value = { @NamedQuery(name = "Application.getByKey",
query = "from Application as a where a.key = :key"),
@NamedQuery(name = "Application.findByUsername",
query = "select a from Application as a left join a.users as u where u.username = :username"),
@NamedQuery(name = "Application.findByCompanyKey",
query = "select a from Application as a where a.company.key = :companyKey") })
public class Application implements Serializable {
/* */
private static final long serialVersionUID = -2694152171872599511L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Expose
private Long id;
@Column(name = "`key`",
unique = true,
nullable = false)
@Expose
private String key;
@Column(name = "description")
@Expose
private String description;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "type_id",
nullable = true)
@Expose
private DeviceType deviceType;
@ManyToOne
@JoinColumn(name = "company_id",
nullable = false)
private Company company;
@ManyToMany(fetch = FetchType.LAZY,
mappedBy = "applications")
private List<User> users;
@OneToMany(fetch = FetchType.LAZY,
mappedBy = "application")
private List<ApplicationAlarm> alarms;
@Version
@Column(name = "version")
private Long version = new Long(0);
/**
* Gets the id.
*
* @return the id
*/
public Long getId() {
return id;
}
/**
* Sets the id.
*
* @param p_id
* the new id
*/
public void setId(final Long p_id) {
id = p_id;
}
/**
* Gets the key.
*
* @return the key
*/
public String getKey() {
return key;
}
/**
* Sets the key.
*
* @param p_key
* the new key
*/
public void setKey(final String p_key) {
key = p_key;
}
/**
* Gets the description.
*
* @return the description
*/
public String getDescription() {
return description;
}
/**
* Sets the description.
*
* @param p_description
* the new description
*/
public void setDescription(final String p_description) {
description = p_description;
}
/**
* Gets the device type.
*
* @return the device type
*/
public DeviceType getDeviceType() {
return deviceType;
}
/**
* Sets the device type.
*
* @param p_deviceType
* the new device type
*/
public void setDeviceType(final DeviceType p_deviceType) {
deviceType = p_deviceType;
}
/**
* Gets the company.
*
* @return the company
*/
public Company getCompany() {
return company;
}
/**
* Sets the company.
*
* @param p_company
* the new company
*/
public void setCompany(final Company p_company) {
company = p_company;
}
/**
* Gets the users.
*
* @return the users
*/
public List<User> getUsers() {
return users;
}
/**
* Sets the users.
*
* @param p_users
* the new users
*/
public void setUsers(final List<User> p_users) {
users = p_users;
}
/**
* Gets the alarms.
*
* @return the alarms
*/
public List<ApplicationAlarm> getAlarms() {
return alarms;
}
/**
* Sets the alarms.
*
* @param p_alarms
* the new alarms
*/
public void setAlarms(final List<ApplicationAlarm> p_alarms) {
alarms = p_alarms;
}
/**
* Gets the version.
*
* @return the version
*/
public Long getVersion() {
return version;
}
/**
* Sets the version.
*
* @param p_version
* the new version
*/
public void setVersion(final Long p_version) {
version = p_version;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(final Object p_obj) {
boolean isEquals = false;
try {
final Application application = (Application) p_obj;
final EqualsBuilder eb = new EqualsBuilder();
eb.append(getKey(), application.getKey());
isEquals = eb.isEquals();
} catch (final Exception e) {
isEquals = false;
}
return isEquals;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
final HashCodeBuilder hcb = new HashCodeBuilder();
hcb.append(getKey());
return hcb.toHashCode();
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
ToStringBuilder tsb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE);
tsb.append("id", getId());
tsb.append("key", getKey());
tsb.append("description", getDescription());
tsb.append("deviceType", getDeviceType());
tsb.append("version", getVersion());
return tsb.toString();
}
}
还有这个:
@Entity
@Table(name = "user",
uniqueConstraints = { @UniqueConstraint(columnNames = "username") })
@NamedQueries(value = { @NamedQuery(name = "User.findByUsername",
query = "from User u where u.username = :username") })
@NamedEntityGraph(name = "graph.User.company",
attributeNodes = @NamedAttributeNode("company") )
public class User implements Serializable {
/* */
private static final long serialVersionUID = 3660379416292251393L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username",
nullable = false,
unique = true,
length = 50)
private String username;
@Column(name = "password",
nullable = false,
length = 50)
private String password;
@Column(name = "enabled",
nullable = false)
private boolean enabled = true;
@ManyToMany(fetch = FetchType.EAGER,
cascade = CascadeType.ALL)
@JoinTable(name = "user_authority",
joinColumns = { @JoinColumn(name = "user_id",
nullable = false,
updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "authority_id",
nullable = false,
updatable = false) })
private List<Authority> authorities;
@ManyToOne
@JoinColumn(name = "company_id",
nullable = false)
private Company company;
@ManyToMany(fetch = FetchType.LAZY,
cascade = CascadeType.ALL)
@JoinTable(name = "user_application",
joinColumns = { @JoinColumn(name = "user_id",
nullable = false,
updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "application_id",
nullable = false,
updatable = false) })
private List<Application> applications;
@Version
@Column(name = "version")
private Long version = new Long(0);
/**
* Gets the id.
*
* @return the id
*/
public Long getId() {
return id;
}
/**
* Sets the id.
*
* @param p_id
* the new id
*/
public void setId(final Long p_id) {
id = p_id;
}
/**
* Gets the user name.
*
* @return the user name
*/
public String getUsername() {
return username;
}
/**
* Sets the user name.
*
* @param p_username
* the new user name
*/
public void setUsername(final String p_username) {
username = p_username;
}
/**
* Gets the password.
*
* @return the password
*/
public String getPassword() {
return password;
}
/**
* Sets the password.
*
* @param p_password
* the new password
*/
public void setPassword(final String p_password) {
password = p_password;
}
/**
* Checks if is enabled.
*
* @return true, if is enabled
*/
public boolean isEnabled() {
return enabled;
}
/**
* Sets the enabled.
*
* @param p_enabled
* the new enabled
*/
public void setEnabled(final boolean p_enabled) {
enabled = p_enabled;
}
/**
* Gets the authorities.
*
* @return the authorities
*/
public List<Authority> getAuthorities() {
return authorities;
}
/**
* Sets the authorities.
*
* @param p_authorities
* the new authorities
*/
public void setAuthorities(final List<Authority> p_authorities) {
authorities = p_authorities;
}
/**
* Gets the company.
*
* @return the company
*/
public Company getCompany() {
return company;
}
/**
* Sets the company.
*
* @param p_company
* the new company
*/
public void setCompany(final Company p_company) {
company = p_company;
}
/**
* Gets the applications.
*
* @return the applications
*/
public List<Application> getApplications() {
return applications;
}
/**
* Sets the applications.
*
* @param p_applications
* the new applications
*/
public void setApplications(final List<Application> p_applications) {
applications = p_applications;
}
/**
* Gets the version.
*
* @return the version
*/
public Long getVersion() {
return version;
}
/**
* Sets the version.
*
* @param p_version
* the new version
*/
public void setVersion(final Long p_version) {
version = p_version;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(final Object p_obj) {
boolean isEquals = false;
try {
final User user = (User) p_obj;
final EqualsBuilder eb = new EqualsBuilder();
eb.append(getUsername(), user.getUsername());
isEquals = eb.isEquals();
} catch (final Exception e) {
isEquals = false;
}
return isEquals;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
final HashCodeBuilder hcb = new HashCodeBuilder();
hcb.append(getUsername());
return hcb.toHashCode();
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
final ToStringBuilder tsb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE);
tsb.append("id", getId());
tsb.append("username", getUsername());
tsb.append("password", getPassword());
tsb.append("enabled", isEnabled());
tsb.append("authorities", getAuthorities());
tsb.append("version", getVersion());
return tsb.toString();
}
}
服务中的这个方法:
@Override
@Transactional(propagation = Propagation.REQUIRED,
readOnly = true)
public List<Application> getApplications(User user) {
User us = getUserDao().findByUsernameWithCompany(user.getUsername());
Hibernate.initialize(us.getApplications());
return user.getApplications();
}
在 Controller 中:
List<Application> applications = userAccessorService.getApplications(getLoggedUser(request));
但是我收到了这个错误:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.tdk.toc.model.User.applications, could not initialize proxy - no Session
org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:567)
org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:205)
org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:546)
org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:133)
org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:509)
java.lang.String.valueOf(String.java:2847)
java.lang.StringBuilder.append(StringBuilder.java:128)
com.tdk.toc.controller.ApplicationController.listApplications(ApplicationController.java:62)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:118)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:133)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:152)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
最佳答案
web.xml:
<filter>
<filter-name>OpenSess ionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSess ionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用 OpenSessionInView 过滤器有时被称为不好的做法,但您必须自行决定
关于java - 未能延迟初始化角色 [] 的集合,无法初始化代理 - 无 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35563365/
抱歉,问题标题含糊不清!我有一个 ASP.NET 应用程序,可与其他第三方软件配合使用(Burning Glass - 通过 tcp/ip 连接到 Web 应用程序,需要 - 正确配置的 dns 条目
我正在开展一个项目,将一个大型网站分解为更小、更具体的网站。我需要能够将对这些网站的访问限制为仅具有必要权限的用户,并且希望尽可能利用现有的成员资格/角色数据模型。 因此,理想情况下,我想将潜在的多个
抱歉,问题标题含糊不清!我有一个 ASP.NET 应用程序,可与其他第三方软件配合使用(Burning Glass - 通过 tcp/ip 连接到 Web 应用程序,需要 - 正确配置的 dns 条目
我对 FOSUserBundle 中的角色有点困惑。用户实体也有角色列,我们可以通过它为用户分配多个角色。根据发布在 Managing users/roles/groups in FOSUserBun
原谅我的新手问题,但我想按顺序执行三个任务并在剧本中使用两个角色: 任务 角色 任务 角色 任务 这是我到目前为止(任务,角色,任务): --- - name: Task Role Task ho
在触发器中,我想检查哪些角色对 USER() 有效,而不是 CURRENT_USER()。(认识到 CURRENT_USER() 返回触发器的 DEFINER)。 是否有任何类型的 USER_ROLE
我有一套Ansible playbooks 和主要的 yml 文件是这样的 - hosts: all roles: - common - install_nginx 我想在触发剧本
因此,我有以下代码输出安装的所有功能和角色: Import-Module ServerManager $Arr = Get-WindowsFeature | Where-Object {$_.Inst
我已经寻找了一段时间,并且已经手动完成了角色和权限的许多部署,但是有什么方法可以在Sitecore中为角色/权限创建一个程序包(或等效程序包)? 当您没有选择从一个环境到另一个环境进行完全部署时,使用
我想找到或创建一个与所有者或至少贡献者具有相同功能的 azure 角色。但此角色不应该有权创建 azure 资源。 我一直在浏览现有的预定义角色。 最佳答案 这在 Azure RBAC 上下文中没有任
我在文档中找不到答案,也找不到示例:是否可以在 role/defaults/ 中命名除 main.yml 之外的文件?我的意思是,main.yml 是具有默认值的文件的唯一有效名称吗? 最佳答案 根据
我尝试了kubectl get sa default命令,但只看到一些非常基本的值。在k8s中查看与特定服务帐户关联的权限/角色的命令是什么? 最佳答案 以下命令可能会有所帮助。它基本上获得RoleB
有没有办法告诉 Spring 在我制作的自定义用户 bean 中找到用户的角色? http://static.springsource.org/sprin...ns-config.html 因此,如果
在我的 playbook 中运行几次 Play 后,我想验证我的应用程序的部署。 在我的角色之一中,我有以下任务,将创建的 ec2 实例添加到“已启动”的主机: - name: Add new ins
我按如下方式将用户添加到角色(请注意,我在我的机器上运行下面显示的代码): Roles.AddUserToRole(oMU.UserName, "Role1"); 使用以下代码我检查用户是否在
我目前在为 postgresql 创建角色时遇到问题,这是我已经做过的,但自昨晚以来取得了任何进展 simplybel@simplybel:~$ sudo -u postgres createuser
一个项目现在有超过 200 个类,每个文件一个类,将它们划分到目录中似乎是恰当的。现在我正在考虑两种不同的策略; a) 按角色或层分组 repositories/ UserRepository
您如何为用户、角色和应用特定实体提供种子?似乎 IdentityModel 以它自己的上下文为目标? internal sealed class Configuration : DbMigration
摩尔庄园手游在六一儿童节上线之后,网上的争议声还是很多的,有夸赞的,称其找回了童年的回忆,也有吐槽的,觉得3d的设计很晕,没有以前的感觉,想要删除账号,那么大家知道怎么去注销吗,步骤流程是什么样的?
在 XP SP2 虚拟机中运行 Oracle 11gR1。完全披露:这是一项任务。 我试图在用户被授予 DBA 角色时进行审计,并在事件发生时发送电子邮件。 我相信命令 AUDIT DBA;将审核对
我是一名优秀的程序员,十分优秀!