小编Zeu*_*eus的帖子

PostgreSQL中基于游标的记录

我正在尝试使用游标来连接多个表的查询.我已经看到oracle有一个基于游标的记录.当我为Postgres尝试相同时,它会抛出一些错误.我怎么能在Postgres做同样的事情?

CREATE OR REPLACE FUNCTION avoidable_states()
RETURNS SETOF varchar AS
$BODY$
DECLARE
    xyz CURSOR FOR select * from address ad
                            join city ct on ad.city_id = ct.city_id;    
    xyz_row RECORD;
BEGIN   
    open xyz;

    LOOP
    fetch xyz into xyz_row;
        exit when xyz_row = null;
        if xyz_row.city like '%hi%' then
            return next xyz_row.city;               
        end if;
    END LOOP;
    close xyz;  
END;
$BODY$
  LANGUAGE plpgsql VOLATILE;
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

ERROR:  relation "xyz" does not exist
CONTEXT:  compilation of PL/pgSQL function "avoidable_states" near line 4
Run Code Online (Sandbox Code Playgroud)

postgresql loops plpgsql cursor

13
推荐指数
2
解决办法
5万
查看次数

org.hibernate.AnnotationException:referencedColumnNames引用未映射到单个属性

我在2个实体之间映射一对一时遇到了以下异常.第一个实体嵌入了复合键.第二个实体也有嵌入式复合键.这些表是遗留系统的一部分.数据持平,关系定义不明确.请帮忙.

Caused by: org.hibernate.AnnotationException: referencedColumnNames(FLAG_NAME) of net.javabeat.spring.model.ReferralsM.mnEditFlag referencing net.javabeat.spring.model.MnEditFlag not mapped to a single property
    at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:205)
    at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:116)
    at org.hibernate.cfg.Configuration.processEndOfQueue(Configuration.java:1515)
    at org.hibernate.cfg.Configuration.processFkSecondPassInOrder(Configuration.java:1440)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1358)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1727)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
    ... 34 more
Run Code Online (Sandbox Code Playgroud)

这是我在主/父表中的一对一映射.

@OneToOne(targetEntity = MnEditFlag.class, fetch = FetchType.LAZY)
@JoinColumn(name = "REFFLG", referencedColumnName = "FLAG_NAME", insertable = false,     updatable = false)
MnEditFlag mnEditFlag;
Run Code Online (Sandbox Code Playgroud)

java spring entity hibernate jpa

11
推荐指数
1
解决办法
2万
查看次数

SLF4J:slf4j-api 1.6.x(或更高版本)与此绑定不兼容

2015-09-28 10:02:21,890 ERROR [STDERR] (HDScanner) SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
2015-09-28 10:02:21,891 ERROR [STDERR] (HDScanner) SLF4J: Your binding is version 1.5.5 or earlier.
2015-09-28 10:02:21,891 ERROR [STDERR] (HDScanner) SLF4J: Upgrade your binding to version 1.6.x.
2015-09-28 10:02:21,891 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/metasolv-web]] (HDScanner) Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?另外,在我的应用程序中,我不在任何地方使用slf4j,只有Dozer库使用它.从下面的stacktrace我看到spring应用程序正在使用slf4j,但为什么它不能自己加载?

java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:191)
Run Code Online (Sandbox Code Playgroud)

java slf4j java-ee

11
推荐指数
1
解决办法
1万
查看次数

弹簧或休眠连接泄漏

我在webapp上使用spring with hibernate(hibernate-core-4.3.8.Final和spring 3.2.11.RELEASE).我使用hikaricp(v 2.2.5)作为连接池impl,它检测连接泄漏并打印下面的堆栈跟踪.我使用spring的声明式事务划分,所以我假设管理和清理资源是由spring/hibernate完成的.因此,我认为spring或hibernate是检测到连接泄漏的原因.

基本上,有一个计时器,当它被触发时,调用一个标有@Transactional注释的spring bean.

 @Transactional public class InvoiceCycleExporter {
public runExportInvoiceCycleJob(){
  //this method when called is **sometimes** leaking a connection ....
} }
Run Code Online (Sandbox Code Playgroud)

能帮我跟踪连接泄漏的来源吗?

我的appcontext.xml配置数据源,连接池,entitymanager如下

 <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.user}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="maximumPoolSize" value="${jdbc.maximumPoolSize}"/>
    <property name="driverClassName" value="org.postgresql.Driver"/>
    <property name="leakDetectionThreshold" value="${jdbc.leakDetectionThreshold}"/>
</bean>

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="shutdown">
    <constructor-arg ref="hikariConfig"/>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">        
    <property name="dataSource" ref="dataSource"/>
    <property name="persistenceUnitName" value="velosPU"/>
    <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/>       //more stuff ....   
 </bean>
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪如下:

2015-01-13 14:25:00.123 [Hikari Housekeeping Timer (pool …
Run Code Online (Sandbox Code Playgroud)

java connection spring hibernate

9
推荐指数
2
解决办法
1万
查看次数

JPA 2.0 subselect/subquery in order by 子句和条件api

我想使用 JPA 2.0 标准 api 来构建带有子选择的 order by 子句。我知道你可以用普通的 SQL 来做到这一点,但它可以用标准 api 映射吗?有人可以给一个代码示例吗?

例子:

Order(name, address) // table1

OrderPriority(address, priority) // table2 priority by address

select o from Order o order by (select p.priority from OrderPriority p where 
p.address = o.address)
Run Code Online (Sandbox Code Playgroud)

hibernate subquery sql-order-by criteria-api jpa-2.0

5
推荐指数
1
解决办法
3261
查看次数

带按钮的通知不处理事件

我有以下服务在我的应用程序中显示通知,它到目前为止显示正常,但它不处理点击事件一些如何.我该如何处理?

要求:只要视频正在播放,我希望此通知存在.我希望这是做到这一点的方法.

public class CustomNotifications extends Service implements
        INotificationService {

    private static CustomNotifications instance;

    private Context ctx;
    private NotificationManager mNotificationManager;

    private String start = "play";
    private String stop = "stop";

    private VideoCastManager mCastManager;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        if (null != intent) {
            String action = intent.getAction();
            if (action != null) {
                if (action.equals(start)) {

                } else if (action.equals(stop)) {

                }
            }
        }
        return 1;
    }

    public void startNofication(Activity activity, String text) {
        ctx …
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
1
解决办法
829
查看次数

什么是休眠中的对象关系映射(ORM)级别

我在找工作时遇到过几次这个问题,但是,在开发过程中,我从未在任何地方遇到过这个术语。我知道它们有 4 个级别,但是我知道它是什么真的很重要吗?作为应用程序设计人员,我应该知道这一点吗?有人可以用现实世界的场景来解释这一点吗?

谢谢。

java hibernate

4
推荐指数
1
解决办法
6298
查看次数

TransactionException:事务未成功启动

我跟随道:

@Repository("userDao")
public class UserDaoImpl implements UserDao {

    @Autowired
    private SessionFactory sessionFactory;

    @Transactional
    public void add(User user) {
        Session session = sessionFactory.getCurrentSession();
        session.save(user);
        session.getTransaction().commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

它是从

@Controller
public class HomeController {    

    @Autowired
    private UserDao userDao;


    @RequestMapping(value = "/test")
    public ModelAndView test() {
        User user = new User();
        user.setName("34r");

        userDao.add(user);

        ModelAndView model = new ModelAndView("home");
        model.addObject("userList", null);
        return model;

    }

}
Run Code Online (Sandbox Code Playgroud)

在浏览器中我尝试访问此链接

最后我得到以下堆栈跟踪:

SEVERE: Servlet.service() for servlet [appServlet] in context with path [/SpringMvcHibernateXML] threw exception [Request processing failed; nested exception …
Run Code Online (Sandbox Code Playgroud)

java session spring hibernate transactions

4
推荐指数
1
解决办法
1万
查看次数

Spring AOP Pointcut,方法名称以get开头

我正在尝试为Spring AOP实现一个Pointcut.getXXXX应该记录所有类似的方法.我尝试了以下但是他们抛出异常或不触发:

第一次尝试

@Pointcut("within(net.services.*.get*)")
private void clServiceLayer() {}

@Pointcut("within(net.services.*.get*(..))")
private void clServiceLayer() {}
Run Code Online (Sandbox Code Playgroud)

需要帮助正确表达切点.

java aop spring spring-aop

4
推荐指数
1
解决办法
3716
查看次数

无效的应用ID-chromecast

我正在调整Google Cast代码(此处提供的代码)。

我已经完成了整个工作空间的设置,但是,当尝试在Android手机上运行示例应用程序时,出现以下错误。

我刚刚将软件包名称指定为应用程序ID。我从哪里获得应用程序ID?我应该在Google注册以获得应用程序ID吗?它是如何工作的?

02-13 23:36:00.995: E/AndroidRuntime(8310): FATAL EXCEPTION: main
02-13 23:36:00.995: E/AndroidRuntime(8310): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.sample.cast.refplayer/com.google.sample.cast.refplayer.VideoBrowserActivity}: java.lang.IllegalArgumentException: Invalid appliation ID: com.google.sample.cast.refplayer
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.app.ActivityThread.access$600(ActivityThread.java:127)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.os.Looper.loop(Looper.java:137)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at android.app.ActivityThread.main(ActivityThread.java:4511)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at java.lang.reflect.Method.invokeNative(Native Method)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at java.lang.reflect.Method.invoke(Method.java:511)
02-13 23:36:00.995: E/AndroidRuntime(8310):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
02-13 23:36:00.995: E/AndroidRuntime(8310): …
Run Code Online (Sandbox Code Playgroud)

android google-cast chromecast

3
推荐指数
2
解决办法
3446
查看次数