- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,这个问题有很多版本,但所有修复它的方法都失败了。每次我插入对象时,它都会插入重复的数据
我尝试使用“persist(role)”或“saveOrUpdate(role)”更改添加函数,但它不起作用。
** 更新:如果我添加函数“if (event.getApplicationContext().getParent() != null)”,它是临时解决方案。
数据库表:
mysql> select * from role;
+----+------------+
| Id | Name |
+----+------------+
| 1 | ROLE_USER |
| 2 | ROLE_ADMIN |
| 3 | ROLE_USER |
| 4 | ROLE_ADMIN |
+----+------------+
4 rows in set (0.00 sec)
可能是什么问题?
日志.log
[08/07/16 02:32:20:020 IDT] INFO http.DefaultFilterChainValidator:检查登录 URL '/login' 是否可以通过您的配置访问 [08/07/16 02:32:21:021 IDT] DEBUG 内部。StatisticsInitiator:统计信息已初始化 [enabled=false] [08/07/16 02:32:21:021 IDT] 调试内部.TransactionImpl:开始 [08/07/16 02:32:21:021 IDT] 调试 hibernate.SQL: 选择 next_val 作为 id_val 从 用于更新的 hibernate_sequence
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractSaveEventListener: Generated identifier: 1, using strategy: org.hibernate.id.enhanced.SequenceStyleGenerator
[08/07/16 02:32:21:021 IDT] INFO dao.RoleDAO: RoleEntity saved successfully, RoleEntity Details=com.searcher.entity.RoleEntity@2b55fd75
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: committing
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Processing flush-time cascades
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Dirty checking collections
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: Listing entities:
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: com.searcher.entity.RoleEntity{Id=1, users=null, Name=ROLE_USER}
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
insert
into
role
(Name, Id)
values
(?, ?)
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.JdbcCoordinatorImpl: HHH000420: Closing un-released batch
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: begin
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
select
next_val as id_val
from
hibernate_sequence for update
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractSaveEventListener: Generated identifier: 2, using strategy: org.hibernate.id.enhanced.SequenceStyleGenerator
[08/07/16 02:32:21:021 IDT] INFO dao.RoleDAO: RoleEntity saved successfully, RoleEntity Details=com.searcher.entity.RoleEntity@6e7f73de
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: committing
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Processing flush-time cascades
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Dirty checking collections
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: Listing entities:
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: com.searcher.entity.RoleEntity{Id=2, users=null, Name=ROLE_ADMIN}
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
insert
into
role
(Name, Id)
values
(?, ?)
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.JdbcCoordinatorImpl: HHH000420: Closing un-released batch
[08/07/16 02:32:21:021 IDT] INFO startup.StartupDbDataInit: ------------------------------------------------------
[08/07/16 02:32:21:021 IDT] INFO startup.StartupDbDataInit: StartupDbDataInit Working!!!!!
[08/07/16 02:32:21:021 IDT] INFO startup.StartupDbDataInit: ------------------------------------------------------
[08/07/16 02:32:21:021 IDT] INFO context.ContextLoader: Root WebApplicationContext: initialization completed in 21485 ms
[08/07/16 02:32:21:021 IDT] INFO servlet.DispatcherServlet: FrameworkServlet 'searcher': initialization started
[08/07/16 02:32:21:021 IDT] INFO support.XmlWebApplicationContext: Refreshing WebApplicationContext for namespace 'searcher-servlet': startup date [Fri Jul 08 14:32:21 IDT 2016]; parent: Root WebApplicationContext
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: begin
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
select
next_val as id_val
from
hibernate_sequence for update
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractSaveEventListener: Generated identifier: 3, using strategy: org.hibernate.id.enhanced.SequenceStyleGenerator
[08/07/16 02:32:21:021 IDT] INFO dao.RoleDAO: RoleEntity saved successfully, RoleEntity Details=com.searcher.entity.RoleEntity@5cf357d8
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: committing
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Processing flush-time cascades
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Dirty checking collections
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: Listing entities:
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: com.searcher.entity.RoleEntity{Id=3, users=null, Name=ROLE_USER}
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
insert
into
role
(Name, Id)
values
(?, ?)
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:21:021 IDT] DEBUG internal.JdbcCoordinatorImpl: HHH000420: Closing un-released batch
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: begin
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
select
next_val as id_val
from
hibernate_sequence for update
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
update
hibernate_sequence
set
next_val= ?
where
next_val=?
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractSaveEventListener: Generated identifier: 4, using strategy: org.hibernate.id.enhanced.SequenceStyleGenerator
[08/07/16 02:32:21:021 IDT] INFO dao.RoleDAO: RoleEntity saved successfully, RoleEntity Details=com.searcher.entity.RoleEntity@2fe40fe3
[08/07/16 02:32:21:021 IDT] DEBUG internal.TransactionImpl: committing
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Processing flush-time cascades
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Dirty checking collections
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
[08/07/16 02:32:21:021 IDT] DEBUG internal.AbstractFlushingEventListener: Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: Listing entities:
[08/07/16 02:32:21:021 IDT] DEBUG util.EntityPrinter: com.searcher.entity.RoleEntity{Id=4, users=null, Name=ROLE_ADMIN}
[08/07/16 02:32:21:021 IDT] DEBUG hibernate.SQL:
insert
into
role
(Name, Id)
values
(?, ?)
[08/07/16 02:32:22:022 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:22:022 IDT] DEBUG internal.LogicalConnectionManagedImpl: Initiating JDBC connection release from afterTransaction
[08/07/16 02:32:22:022 IDT] DEBUG internal.JdbcCoordinatorImpl: HHH000420: Closing un-released batch
[08/07/16 02:32:22:022 IDT] INFO startup.StartupDbDataInit: ------------------------------------------------------
[08/07/16 02:32:22:022 IDT] INFO startup.StartupDbDataInit: StartupDbDataInit Working!!!!!
[08/07/16 02:32:22:022 IDT] INFO startup.StartupDbDataInit: ------------------------------------------------------
[08/07/16 02:32:22:022 IDT] INFO servlet.DispatcherServlet: FrameworkServlet 'searcher': initialization completed in 140 ms
StartupDbDataInit
package com.searcher.startup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
import com.searcher.dao.EcommerceDAO;
import com.searcher.dao.RoleDAO;
import com.searcher.dao.UserDAO;
import com.searcher.entity.EcommerceEntity;
import com.searcher.entity.RoleEntity;
import com.searcher.service.RoleService;
import com.searcher.service.RoleServiceImp;
@Component
public class StartupDbDataInit implements ApplicationListener<ContextRefreshedEvent>{
private static final Logger logger = LoggerFactory.getLogger(StartupDbDataInit.class);
@Autowired
private RoleService roleService;
@Override
public void onApplicationEvent(final ContextRefreshedEvent event) {
try{
// Creatinw Role Entity
RoleEntity roleUser = new RoleEntity();
RoleEntity roleAdmin = new RoleEntity();
roleUser.setName("ROLE_USER");
roleAdmin.setName("ROLE_ADMIN");
roleService.add(roleUser);
roleService.add(roleAdmin);
logger.info("------------------------------------------------------");
logger.info("StartupDbDataInit Working!!!!!");
logger.info("------------------------------------------------------");
// TODO: Swhatever you need here
}catch (Exception ex){
logger.info("StartupDbDataInit Failed!!!!!, SellerEntity Details="+ex.getMessage());
throw ex;
}
}
}
RoleEntity.java:
package com.searcher.entity;
import java.util.Set;
import javax.persistence.*;
@Entity
@Table(name = "role")
public class RoleEntity {
@Id
@GeneratedValue
@Column(name="Id")
private Long Id;
@Column(name="Name")
private String Name;
@ElementCollection(targetClass=UserEntity.class)
private Set<UserEntity> users;
public Long getId() {
return Id;
}
public void setId(Long id) {
this.Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
this.Name = name;
}
@ManyToMany(mappedBy = "roles")
public Set<UserEntity> getUsers() {
return users;
}
public void setUsers(Set<UserEntity> users) {
this.users = users;
}
}
RoleDAO.java(接口(interface))
package com.searcher.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.searcher.entity.RoleEntity;
@Repository
public interface RoleDAO {
public void add(RoleEntity role);
public void edit(RoleEntity role);
public void deleteById(int id);
public RoleEntity getRoleById(int id);
public RoleEntity getRoleByName(String name);
public List<RoleEntity> getAllRole();
}
RoleDAOImp.java
package com.searcher.dao;
import java.util.List;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.searcher.entity.RoleEntity;
@Repository
public class RoleImp implements RoleDAO {
private static final Logger logger = LoggerFactory.getLogger(RoleDAO.class);
@Autowired
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sf){
this.sessionFactory = sf;
}
@Override
public void add(RoleEntity role) {
this.sessionFactory.getCurrentSession().saveOrUpdate(role);
logger.info("RoleEntity saved successfully, RoleEntity Details="+role);
}
@Override
public void edit(RoleEntity role) {
this.sessionFactory.getCurrentSession().update(role);
logger.info("RoleEntity updated successfully, RoleEntity Details="+role);
}
@Override
public void deleteById(int id) {
RoleEntity roleToDelete = getRoleById(id);
this.sessionFactory.getCurrentSession().delete(roleToDelete);
logger.info("RoleEntity deleted successfully, RoleEntity Details="+roleToDelete);
}
@Override
public RoleEntity getRoleById(int id) {
RoleEntity roleReturn = (RoleEntity)this.sessionFactory.getCurrentSession().get(RoleEntity.class, id);
logger.info("RoleEntity founded successfully, RoleEntity Details="+roleReturn);
return roleReturn;
}
@Override
public RoleEntity getRoleByName(String name) {
RoleEntity roleReturn =
(RoleEntity)this.sessionFactory.getCurrentSession().createNamedQuery("from role where Name =" + name);
logger.info("RoleEntity founded successfully, RoleEntity Details="+roleReturn);
return roleReturn;
}
@SuppressWarnings({ "unchecked", "deprecation" })
@Override
public List<RoleEntity> getAllRole() {
List<RoleEntity> roleList = this.sessionFactory.getCurrentSession().createQuery("from role").list();
logger.info("List<RoleEntity> upload successfully, List<RoleEntity> Details="+roleList.toString());
return roleList;
}
}
RoleService.java
package com.searcher.service;
import java.util.List;
import com.searcher.entity.RoleEntity;
public interface RoleService {
public void add(RoleEntity user);
public void edit(RoleEntity user);
public void deleteById(int id);
public RoleEntity getRoleById(int id);
public RoleEntity getRoleByName(String name);
public List<RoleEntity> getAllRole();
}
RoleServiceImp.java
package com.searcher.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.searcher.dao.RoleDAO;
import com.searcher.entity.RoleEntity;
@Service("roleService")
public class RoleServiceImp implements RoleService {
@Autowired
private RoleDAO roleDAO;
public RoleDAO getRoleDAO() {
return roleDAO;
}
public void setRoleDAO(RoleDAO roleDAO) {
this.roleDAO = roleDAO;
}
@Override
@Transactional
public void add(RoleEntity role) {
this.roleDAO.add(role);
}
@Override
@Transactional
public void edit(RoleEntity role) {
this.roleDAO.edit(role);
}
@Override
@Transactional
public void deleteById(int id) {
this.roleDAO.deleteById(id);
}
@Override
@Transactional
public RoleEntity getRoleById(int id) {
return this.roleDAO.getRoleById(id);
}
@Override
@Transactional
public RoleEntity getRoleByName(String name) {
return this.roleDAO.getRoleByName(name);
}
@Override
@Transactional
public List<RoleEntity> getAllRole() {
return (List<RoleEntity>)this.roleDAO.getAllRole();
}
}
这是以下配置文件:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>Searcher</display-name>
<!-- Location of Java @Configuration classes that configure the components that makeup this application -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/appconfig-root.xml</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>searcher</servlet-name>
<servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>searcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
-->
<!--
<servlet-mapping>
<servlet-name>searcher</servlet-name>
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>/welcome.html</url-pattern>
<url-pattern>*.html</url-pattern>
</servlet-mapping>-->
</web-app>
appconfig-root.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<import resource="appconfig-mvc.xml"/>
<import resource="appconfig-data.xml"/>
<import resource="appconfig-security.xml"/>
<!-- Scans within the base package of the application for @Component classes to configure as beans -->
<context:component-scan base-package="com.searcher.*"/>
<!--<context:property-placeholder location="classpath:application.properties"/>-->
</beans>
appconfig-security.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.1.xsd">
<http auto-config="true">
<intercept-url pattern="/" access="hasRole('ROLE_USER')"/>
<intercept-url pattern="/welcome" access="hasRole('ROLE_USER')"/>
<form-login login-page="/login" default-target-url="/welcome" authentication-failure-url="/login?error" username-parameter="username" password-parameter="password"/>
<logout logout-success-url="/login?logout" />
</http>
<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="userDetailsServiceImpl">
<password-encoder ref="encoder"></password-encoder>
</authentication-provider>
</authentication-manager>
<beans:bean id="userDetailsServiceImpl" class="com.searcher.service.UserDetailsServiceImpl"></beans:bean>
<beans:bean id="encoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
<beans:constructor-arg name="strength" value="11"/>
</beans:bean>
</beans:beans>
appconfig-data.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Configure the data source bean -->
<!-- DataSource -->
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url"
value="jdbc:mysql://localhost:3306/SearcherDB" />
<beans:property name="username" value="root" />
<beans:property name="password" value="root" />
</beans:bean>
<!-- Hibernate 5 SessionFactory Bean definition -->
<beans:bean id="hibernate5AnnotatedSessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="annotatedClasses">
<beans:list>
<beans:value>com.searcher.entity.RoleEntity</beans:value>
<beans:value>com.searcher.entity.UserEntity</beans:value>
</beans:list>
</beans:property>
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
<beans:prop key="hibernate.format_sql">true</beans:prop>
<!-- <beans:prop key="hibernate.hbm2ddl.auto">create</beans:prop> -->
</beans:props>
</beans:property>
</beans:bean>
<!-- User -->
<beans:bean id="userDAO" class="com.searcher.dao.UserImp">
<beans:property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory" />
</beans:bean>
<beans:bean id="userService" class="com.searcher.service.UserServiceImp">
<beans:property name="userDAO" ref="userDAO"></beans:property>
</beans:bean>
<!-- Role -->
<beans:bean id="roleDAO" class="com.searcher.dao.RoleImp">
<beans:property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory" />
</beans:bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- Configure the transaction manager bean -->
<beans:bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<beans:property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory" />
</beans:bean>
</beans>
appconfig-mvc.xml
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<mvc:annotation-driven/>
<mvc:resources mapping="/resources/**" location="/resources/"/>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:validation</value>
</list>
</property>
</bean>
<!-- Resolves views selected for rendering by @Controllers to .jsp resources
in the /WEB-INF/views directory -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
最佳答案
首先,@Column(unique=true)
位于RoleEntity.Name
然后你可以(丑陋的选择,但很快):
-第二次调用上下文时捕获异常
-做一些 boolean 触发
检查
-尝试区分哪些上下文被刷新并跳过
@Component
public class ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> {
private static boolean fired = false;
@Override
public void onApplicationEvent(final ContextRefreshedEvent event) {
if (!fired) {
//Your db inserts go there
System.out.println("Something simple like that, could do the job i think.");
fired = true;
}
}
}
关于java - Spring 4.3.0.RELEASE + Hibernate 5.2.0.Final - 每次插入重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38265419/
我有 512 行要插入到数据库中。我想知道提交多个插入内容是否比提交一个大插入内容有任何优势。例如 1x 512 行插入 -- INSERT INTO mydb.mytable (id, phonen
已经提出了类似的问题,但由于它总是取决于,我单独询问我的具体情况。 我有一个网站页面,显示来自数据库的一些数据,要从该数据库生成数据,我必须执行一些相当复杂的多连接查询。 数据每天(每晚)更新一次。
我正在使用 MongoDb 和 MySQL 的 python 连接器 pymongo 和 pymysql 测试 MongoDb 和 MySQL,特别是插入功能。 pymongo版本是3.4,pymys
从 C# 应用程序插入大型数组(10M 元素)的最快方法是什么? 到目前为止,我使用的是批量插入。 C# 应用程序生成一个大文本文件,我使用 BULK INSERT 命令加载它。出于好奇,我编写了一个
我编写了一个枚举类型,当我为它运行我创建的 JUnit 测试时会出现以下语法错误: java.lang.Error: Unresolved compilation problems: Synt
我正在尝试创建一个程序,它将单词列表作为输入,并将它们排序为二叉树,以便能够找到它们,例如像字典。这是我到目前为止所做的,但是 newEl -> el = input; 出现段错误,我知道这是因为它试
你好 我有编译这个问题 \begin{equation} J = \sum_{j=1}^{C} \end{equation} 我不断收到错误 missing $ inserted 这很奇怪,因
我需要使用 LINQ to SQL 将记录插入到没有主键的表中。 table 设计得很差;我无法控制表结构。该表由几个 varchar 字段、一个文本字段和一个时间戳组成。它用作其他实体的审计跟踪。
我正在尝试使用 itextsharp 创建 Pdf。我添加了一张包含两列的表格,其中一列包含文本和其他图像。我想要恒定的图像大小 如果另一个单元格中的文本增加并且其他单元格中的图像大小不同,我的图像会
我想把 calory 作为 fruits 的第一个值,我做不到,有人能帮忙吗? $sql = 'INSERT INTO fruits VALUES('', ?, ?, ?)'
我有一个包含季度观察结果的 data.frame。我现在想插入每月值(首选三次,线性很好)。中间目标应该是使用 DATE 创建一个 data.frame作为所有每月观察的索引和缺失值。 谷歌搜索表明我
我想知道是否有办法在值列表中使用“插入”。我正在尝试这样做: insert into tblMyTable (Col1, Col2, Col3) values('value1', value
我想让人们能够在他们的网站中插入单个 Javascript 行,这实际上允许我插入包含我网站内容的固定大小的 IFRAME。它实际上是一个小部件,允许他们搜索我的网站或接收其他信息。这可能吗? 最佳答
我有一个包含时间的表,列名为 time,数据类型为 Date。 在 asp.net 中,我想要一个查询插入日期,另一个查询则在 2 个日期之间进行选择。 我已经尝试过这个: string data =
这是我的代码: create or replace trigger th after insert on stock for each row declare sqty number;
这是一个带有具体示例的通用问题。 我有一个包含三个字段(流派 ID (PK IDENTITY)、流派和子流派)的表。该表对(流派,子流派)组合具有唯一约束。 我想知道如何修改存储过程以在表中不存在时插
因此,我正在遍历二叉树,节点包含字符串,以及读取文件时该字符串是否出现多次。我只查找读取文件时出现次数最多的前 10 个单词,因此本质上我只是比较 int 值。 我的问题是我正在尝试找出一种有效的方法
我有一张机票和行李 map , 每张门票必须是唯一的,并且必须与 map 上的位置相对应 是否可以仅更改行李(m_bagage->秒)而不更改 key ? std::unordered_map m_c
我正在使用 jdbc 驱动程序做一个示例项目。我的问题是,如果我在 2 文本字段中输入空值。 null 不应该加载到数据库中吗?有没有办法避免在数据库中插入空字段?任何帮助将不胜感激。 //Execu
我想知道 SSIS 中是否有特定的插入或更新选项。 如果我想让程序检查它是更新还是插入,我是否必须做一些编码?或者是否可以启用一个选项,以便它会自行检查 PK 是否存在,然后更新,否则插入? 亲切的问
我是一名优秀的程序员,十分优秀!