使用'show engine innodb status'我看到wordpress有两个死锁.我想清除这些,但我没有看到这些cmds中的任何一个的活动进程(IE某些东西要'杀'并希望强制回滚).
我可以看到线程ID,查询ID等,但我无法用来阻止任何一项工作.
关于如何解决这个问题的建议?
编辑:这是状态的(相关?)部分:
------------------------
LATEST DETECTED DEADLOCK
------------------------
110327 10:54:14
*** (1) TRANSACTION:
TRANSACTION 9FBA099E, ACTIVE 0 sec, process no 14207, OS thread id 1228433728 starting index read
mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 376, 1 row lock(s)
MySQL thread id 12505112, query id 909492800 juno....edu 129....54 wordpress_user updating
DELETE FROM wp_options WHERE option_name = ''_site_transient_timeout_theme_roots''
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space …
Run Code Online (Sandbox Code Playgroud) 有没有之间的差异Session.Save
和Transaction.Commit
?
什么时候应该用哪个?
似乎有时Session.Save
必须结合使用Transaction.Commit
,有时必须使用.任何人都可以告诉为什么会这样吗?
public class SoftwareTest extends UnitTest {
@Before
public void setup() {
Fixtures.deleteAll(); // will fail if comment that. why?????
}
@Test
public void createSoftwareWithNullAuthor() {
// when author is null
Author nullAuthor = null;
Software software = new Software("software1", "description1", nullAuthor);
try {
software.save();
fail("author should not be null");
} catch (PersistenceException ex) {
}
}
@Test
public void createSoftwareWithOkAuthor() {
// when author is ok
Author okAuthor = new Author("author1", "email1").save(); // ERROR HERE!
Software software2 = new Software("software2", …
Run Code Online (Sandbox Code Playgroud) 所以,我只是站起来一个Spring Hibernate应用程序,我似乎无法正确获取我的映射文件.我正在使用MySql 5和一个自动递增键.这是我的映射文件的ID部分.
<hibernate-mapping>
<class name="org.XXXXXXX.Contact" table="contact">
<id name="id" column="id" type="int" unsaved-value="null">
<generator class="native" />
</id>
Run Code Online (Sandbox Code Playgroud)
这是SQL生成的
插入联系人(title,first_name,middle_name,last_name,suffix,job_title,dob,passport_number,passport_expiration,employer,dietary_restrictions,secondary_contact_fname,secondary_contact_lname,secondary_contact_mname,secondary_contact_title,secondary_contact_suffix,secondary_contact_job_title,emergency_contact_name,emergency_contact_phone,emergency_contact_notes,is_company)值(?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
这是堆栈跟踪的重要部分:
org.hibernate.AssertionFailure:org.XXXXXXX.Contact条目中的null id(发生异常后不刷新会话)
我已经尝试将unsaved-value设置为"0"和"-1"并通过线路发送它们.关于我做错了什么的任何想法?
专家/大师/友
我们正在使用Spring 3.2,JPA 2,Hibernate 4.2组合并面对这个奇怪的空指针问题,同时尝试将任何spring注释bean注入到EmtyInterceptor中,如下所示.我们尝试过注释这个bean以及一个spring bean但没有运气.
任何帮助解决这个难题的人都非常感谢.
import javax.inject.Inject;
import javax.inject.Named;
import org.hibernate.EmptyInterceptor;
import org.hibernate.type.Type;
import org.springframework.transaction.annotation.Transactional;
...
@Named
@Transactional
public class AuditEmptyInterceptor extends EmptyInterceptor {
/**
*
*/
private static final long serialVersionUID = 1L;
// Didnt inject - Null
@PersistenceContext
private EntityManager entityManager;
// Didnt inject - Null
//@PersistenceUnit
//private EntityManagerFactory entityManagerFactory;
// Didnt inject - Null
//@Inject
//private AuditHelper auditHelper;
@Override
public boolean onSave(Object entity, Serializable id, Object[] currentState,
String[] propertyNames, Type[] types) {
System.out.println("**********inside OnSave() in …
Run Code Online (Sandbox Code Playgroud)