RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-208796

Евгений Кузнецов's questions

Martin Hope
Евгений Кузнецов
Asked: 2022-08-31 06:21:35 +0000 UTC

无法覆盖 Spring Data JPA 存储库方法

  • 0

文档中的一切似乎都很简单、清晰和简单。该方法不希望以任何方式生成 - 而不是被覆盖的方法,而是调用标准的 findAll() 方法。

我正在尝试覆盖 Page findAll(Pageable pageable); 标准存储库 PagingAndSortingRepository<T, S>:

存储库:

@Repository
public interface EntityRepository extends PagingAndSortingRepository<Entity, Long>, CustomisedEntityRepository<Entity> {
    @Override
    Page<Entity> findAll(Pageable pageable);
}

与重写方法的接口:

@NoRepositoryBean
public interface CustomisedEntityRepository<T> {
    Page<T> findAll(Pageable pageable);
}

类,具有重写方法的实现:

public class CustomisedEntityRepositoryImpl<T> implements CustomisedEntityRepository<T> {
    
        @PersistenceContext
        private EntityManager em;
        private final Logger logger = LoggerFactory.getLogger(CustomisedUntityRepositoryImpl.class);
    
        @Autowired
        private AdminService adminService;
    
        @Override
        @Transactional
        public Page<T> findAll(Pageable pageable) {
            Logger.debug("This is a body of overridden method")
            //There is some user's implementation here
        }
    //and others private methods

}

其实,这一切是为了什么。最初,我不想重写该方法,而是完全实现自定义方法,例如:Page simpleMethod(Map<String, String> parameters, Pageable pageable)。但工件拒绝部署,指的是 Entity 类型没有 simpleMethod 属性。据我了解,Spring并没有尝试创建自定义方法,而是固执地尝试根据我的名字生成一些基本方法,例如findByName,并仔细搜索了我的Entity中的simpleMethod属性,谷歌搜索了一天,我从来没有找到答案,我决定尝试覆盖标准方法,但这里也出了问题。

如果有人知道我仍然不知道、分享或某处代码中存在某种错误的东西,我将非常感激。我已经用谷歌搜索了所有内容,但找不到解决方案。

感谢大家的时间和关注!

repository
  • 1 个回答
  • 10 Views
Martin Hope
Евгений Кузнецов
Asked: 2022-08-28 23:34:59 +0000 UTC

如何将 <varchar> 条目从数据库返回到枚举

  • 1

有一些实体:

    @Entity
    @Table(name = "Peoples")
    public class People implements Serializable {
    
    @Id
    @GeneratedValue(strategy = GeneratedType.AUTO)
    private Long id;
    private Profession profession;
    
    стандартные геттеры, сеттеры
}

职业领域由一个枚举表示:

public enum Profession {
    MANAGER,
    COUNTER,
    ENGINEER,
}

在数据库表中,Profession 字段存储为 VARCHAR。有几个条目:

ID 职业
0 经理
一 经理
2 柜台

在@RestController 中,我试图通过以下方式无条件返回表的所有记录:

@Autowired
private PageingAndSortingRepository<People, Long> peopleRepository;

    @GetMapping
    public List<People> getAllPeople() {
    return peopleRepository.findAll(PageRequest.of(0, 3, Sort.by("id"))).toList();
    }

我收到一个错误:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: For input string: "MANAGER"; nested exception is java.lang.NumberFormatException: For input string: "MANAGER"

数据必须以 JSON 格式在响应正文中发送:

{
"id":[Long]
"profession":[Profession]
}

我没有设置任何 setter 和 getter,我尝试用字符串值重写枚举,我尝试编写转换器,但没有任何结果。我无法理解这个错误的本质以及它的根源。如果有人能提供帮助,我将不胜感激。

java
  • 1 个回答
  • 10 Views
Martin Hope
Евгений Кузнецов
Asked: 2020-08-13 18:32:32 +0000 UTC

用来自 Loader 的数据填充片段

  • 0

我不明白在哪里调用用 Loader 的数据填充片段的方法更好。根据应用程序请求的模式,一个片段附加到活动,其中填充了来自相应加载器的数据。或多或少是这样的:

Cursor cursor; //Курсор который инициализируется лоадером
getLoaderManager().initLoader(0, null, this);

someFragment f = new SomeFragment();
if ( cursor.moveToFirst() ) {
f.getData(cursor.getString(0)) //передает данные из курсора во внутренний метод фрагмента, который наполняет его информацией
}
getFragmentManager().beginTransaction().add(R.id.frame, f).commit(); //и заполненный фрагмент выводится на экран

由于加载程序在单独的线程中加载数据,因此它们没有时间初始化游标,并且在 cursor.moveToFirst() 行中,访问了一个空对象。

是否有可能以某种方式暂停片段输出,直到游标被初始化?我还尝试用来自 onLoadFinished() 方法的数据填充片段;并从那里显示片段,但文档中的注释令人困惑:

请注意,在此调用中,通常不允许应用程序提交片段事务,因为它可能发生在保存活动状态之后。

在用信息填充之前在屏幕上显示一个空片段是不可取的。有人可以建议实现逻辑的最佳方法吗?我想做一个类似新兴进度条的东西,显示加载数据的进度并冻结应用程序界面(直到出现数据和片段,实际上没有UI,所以在这种情况下并不关键),但我可以'弄清楚此时如何挂起主线程,判断下载完成后继续线程。

android
  • 1 个回答
  • 10 Views
Martin Hope
Евгений Кузнецов
Asked: 2020-08-13 01:04:58 +0000 UTC

简单片段动画

  • 4

我正在尝试为更改片段设置一个简单的动画。在/anim/文件夹下放置xml-动画文件时,抛出异常:

Caused by: java.lang.RuntimeException: Unknown animation name: objectAnimator

如果将动画文件放在 /animator/ 文件夹中,则 setCustomAnimation() 方法发誓并指出需要 /anim/ 文件夹中的动画资源。请让我知道如何让它工作。

R.anim.slide_in_left.xml 文件:

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <objectAnimator
                    android:duration="1500"
                    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
                    android:propertyName="y"
                    android:valueFrom="-1280"
                    android:valueTo="0"
                    android:valueType="floatType"/>
</set>

R.anim.slide_in_right.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <objectAnimator
        android:duration="300"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:propertyName="alpha"
        android:valueTo="0"
        android:valueType="floatType"/>

    <objectAnimator
                    android:duration="1500"
                    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
                    android:propertyName="x"
                    android:valueFrom="0"
                    android:valueTo="1280"
                    android:valueType="floatType"/>
</set>

mainActivity.java 文件:

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity
{
    Fragment1 f1;
    Fragment2 f2;
    FragmentTransaction fm;

    @Override
    protected void onCreate( Bundle savedInstanceState )
    {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );

        f1 = new Fragment1();
        f2 = new Fragment2();
        fm = getSupportFragmentManager().beginTransaction();
        fm.setCustomAnimations( R.anim.slide_in_left, R.anim.slide_in_right );
        fm.replace( R.id.fragCont, f1 );
        fm.addToBackStack( null );
        fm.commit();

        Button btn = ( Button ) findViewById( R.id.btn );
        btn.setOnClickListener( new View.OnClickListener()
        {
            @Override
            public void onClick( View v )
            {
                fm = getSupportFragmentManager().beginTransaction();
                fm.setCustomAnimations( R.anim.slide_in_left, R.anim.slide_in_right );
                if ( f1.isVisible() )
                {
                    fm.replace( R.id.fragCont, f2 );
                } else
                {
                    fm.replace( R.id.fragCont, f1 );
                }
                fm.commit();
            }
        } );
    }
}
android
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5