我有一个课说:"ClassA"有一个"ClassB"的集合
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "COLUMN_NAME")
private List<ClassB> lotsOfClasses;
Run Code Online (Sandbox Code Playgroud)
"ClassB"使用普通的旧映射注释来映射类"ClassC":
public class ClassB {
...
@ManyToOne
@JoinColumn(name="AD_POINT_ID")
private ClassC classC;
...
}
Run Code Online (Sandbox Code Playgroud)
如何将ClassO的集合中的@OrderBy批注添加到ClassB,以便按ClassC的"name"属性对集合进行排序
像这样:
@OrderBy(clause="classC.name asc")
Run Code Online (Sandbox Code Playgroud)
我得到的只是Oracle异常,说classC是未知的.
这里的任何帮助都会很棒,因为它现在真的让我烦恼.
PS我还应该提到在集合上使用OrderBy注释,如下所示:@OrderBy(clause ="classC asc")(即没有classC上的.name)我得到一个有效的SQL语句,它使用了ID列(主要的classC的顺序).
干杯,马克
我有一些关于核心数据的基本问题(我是新手),我想对当前的标准和实现有一些观点.
基本上我在iPhone上有一个应用程序(支持iOS 3.0及更高版本),它通过HTTP从Web调用获取大量数据,我正在考虑将结果移动到本地存储中,以便在下次用户加载相同数据时快速检索再次(数据没有改变,这就是为什么我可以依赖缓存版本准确).
我只想先了解一些事情:
这些天人们如何处理NSManagedObject作为域对象扩展的托管对象,或者是否严格创建用于存储的单独类并创建辅助方法以将它们创建为域对象?我有时会发现将所有持久性逻辑保留在域外是一件好事.
清理怎么样?当应用程序关闭或者可能使本地存储中的数据过期时,通常如何删除所有数据?我当然不想在任何时候都在用户手机上保存数据.
核心数据是否存在任何类型的原子性?我的实现将在访问Web服务之前首先在本地检查数据,我想确保从未将半个数据集提交到本地存储并获得有趣的结果.
我想运行一些公平的后台线程来在后台获取数据,在后台线程上持久保存对象时是否需要考虑?
关于上述问题,创建"后台获取"循环的最佳方法是什么?在app代理?每个视图,视视图而定?等等...?
我希望这些不是太基础:)
谢谢你提供的所有帮助.
我试图创建一个旋转拨号控制器,基本上是一组6个数字旋转周围,以产生旋转数字表的效果(类似于你的电源/水表,或者可能是扑克机,实际上非常类似于现有的UIPickerView控件,但具有完全不同的外观和感觉).
到目前为止,我几乎让它工作,但我处于核心动画给我带来悲伤的阶段.
它非常复杂,所以代码片段很难给出正常的快照,所以我认为伪代码就足够了.
首先,在视图设置方面,我有6个单独的UIViewS(称为NumberView1,NumberView2等...),每一个在控制每个数字.
在每个NumberViewX里面,我有另一个UIView,它是一个容器视图,叫做ContainerView1,2等......
然后我UIImageView以不同的Y偏移相互叠加10 秒.这些图像都是30x30,这使它很好.图9是第一,然后在8 y偏移量30,然后在7 y偏移量60,等...至0一路在y偏移量270.
重要说明:我的号码只向上滚动
数字表示向上滚动的5位小数点(即2.34677)(例如,2.61722).
我还有一些字典,它们保存每个数字的当前数值以及每个数字的偏移量:
NSArray *offsets = [[NSArray alloc] initWithObjects:
[NSNumber numberWithInt:0], //9
[NSNumber numberWithInt:-30], //8
[NSNumber numberWithInt:-60], //7
[NSNumber numberWithInt:-90], //6
[NSNumber numberWithInt:-120], //5
[NSNumber numberWithInt:-150], //4
[NSNumber numberWithInt:-180], //3
[NSNumber numberWithInt:-210], //2
[NSNumber numberWithInt:-240], //1
[NSNumber numberWithInt:-270], //0
nil];
NSArray *keys = [[NSArray alloc] initWithObjects:
[NSNumber numberWithInt:9],
[NSNumber numberWithInt:8],
[NSNumber numberWithInt:7],
[NSNumber numberWithInt:6],
[NSNumber numberWithInt:5],
[NSNumber numberWithInt:4],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:2],
[NSNumber numberWithInt:1],
[NSNumber …Run Code Online (Sandbox Code Playgroud) 我的测试环境没有在数据库中持久保存商标字符"™",我遇到了问题.当我输入表单数据,然后提交它,我可以看到在服务器端,请求具有正确编码的™字符,但是当调用hibernate的"saveOrUpdate()"方法被调用时,数据在表格显示为颠倒的问号.
我使用SqlDeveloper检查表,我可以通过直接粘贴到行然后提交,手动将字符更改为™,并且它可以正常工作.
所以我假设休眠的持久化方法不能正常工作.
我在这里不知所措,真的,我只是不知道该尝试什么,我已经设定了:
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">utf-8</property>
Run Code Online (Sandbox Code Playgroud)
配置文件中的属性,没有运气.
我在表中的列是NVARCHAR2(400 CHAR)(虽然它们最初只是VARCHAR2开头,但我在调试此问题时更改了它们).
非常感谢任何帮助.
标记
我有一个非常简单的用户控件,我想ScaleTransform在后面的代码中将属性绑定到DP,如下所示:
<UserControl
x:Name="RoundByRound"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
...
>
<Canvas x:Name="MyCanvas">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding ZoomTransform.ScaleX, ElementName=RoundByRound}"
ScaleY="{Binding ZoomTransform.ScaleY, ElementName=RoundByRound}"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform X="{Binding TranslateTransform.X, ElementName=RoundByRound}"
Y="{Binding TranslateTransform.Y, ElementName=RoundByRound}"/>
</TransformGroup>
</Canvas.RenderTransform>
</Canvas>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
然后在后面的代码中执行此操作:
ZoomTransform.ScaleX = 3;
ZoomTransform.ScaleY = 3;
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误消息:
无法在对象“ ...”上设置属性,因为它处于只读状态。
所以我将其更改为:
var cloned = ZoomTransform.Clone();
cloned.ScaleX = 3;
cloned.ScaleY = 3;
ZoomTransform = cloned;
Run Code Online (Sandbox Code Playgroud)
但是现在实际上什么也没做...没有缩放比例应用到我的画布上。
然而
如果我删除上的绑定,ScaleTransform而只是将其作为一个空的XAML元素:
<ScaleTransform />
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中执行以下操作:
(MyCanvas.RenderTransform as TransformGroup).Children[0] = new ScaleTransform(3, 3);
Run Code Online (Sandbox Code Playgroud)
有用!我得到了应用的规模
所以有两个问题:
Frozen是第一名?谢谢大家! …
我有一个WPF 4应用程序,我使用标准DragDrop.DoDragDrop方法实现拖放,但我使用触摸而不是鼠标事件.
我的网格的XAML(我拖动)如下:
<Grid x:Name="LayoutRoot"
ManipulationStarting="ManipulationStarting"
ManipulationDelta="ManipulationDelta"
ManipulationCompleted="ManipulationCompleted"
IsManipulationEnabled="True">
<!-- children in here -->
</Grid>
Run Code Online (Sandbox Code Playgroud)
现在背后的代码是这样的:
private void ManipulationStarting(object sender, ManipulationStartingEventArgs e)
{
e.ManipulationContainer = this;
e.Handled = true;
}
private void ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
e.Handled = true;
DragDrop.DoDragDrop(this, new DataObject(GetType(), this), DragDropEffects.Move);
}
private void ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
//completed stuff
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用一根手指拖动同时已经用另一根手指拖动(例如,不同的手,这将模拟两个人)时,第二次触摸似乎没有正确注册,事实上,似乎窗户认为我的两根手指是试图扩展(像捏手势)......
有没有人知道解决这个问题的方法?
非常感谢马克
我已经看到它在一些应用程序上完成,其中导航栏实际上小于默认的44px,并且在导航栏上方有一个UIView(具有功能)...
我想要的不仅仅是自定义背景图片,我确实想知道该怎么做,但我不知道从哪里开始得到这样的东西.
非常感谢任何帮助:)马克
我有一个Canvas高度为100和宽度为1920 的用户控件.
在加载控件时,我转到外部源,下载文本文件并将TextBlocks 添加到Canvas.然后我想创建一个选框滚动效果应该可以正常工作,除非我添加TextBlocks 后Canvas,我需要得到它们的宽度用于计算目的但ActualWidth属性始终为零.
这是一些代码:
private readonly LinkedList<TextBlock> textBlocks = new LinkedList<TextBlock>();
public LocalNewsControl()
{
Loaded += LocalNewsControlLoaded;
}
private void LocalNewsControlLoaded(object sender, RoutedEventArgs e)
{
LoadDataContext();
}
private void LoadDataContext()
{
DataContext = new NewsItemsViewModel((exception) => LoadNewsItems());
}
private void LoadNewsItems()
{
var viewModel = (NewsItemsViewModel)DataContext;
NewsCanvas.Children.Clear();
textBlocks.Clear();
foreach (var newsViewModel in viewModel.NewsItems)
{
var tb = new TextBlock
{
Text = newsViewModel.Headline,
FontSize = 28,
FontWeight = …Run Code Online (Sandbox Code Playgroud) 我有一个约有的.JSON文件.1.5MB大小包含大约1500个JSON对象,我想在我的应用程序启动时将其转换为域对象.
目前我在手机上的过程(不在我的开发PC上)需要大约23秒,这对我来说太慢了,并且迫使我写入对象列表,ApplicationSettings这样我每次加载应用程序时都不必这样做(只是首先关闭),但即使这需要15多秒写入,16秒读取,所有这些都不够好.
我没有很多序列化经验,我真的不知道完成它的最快方法.
目前,我正在使用System.Runtime.Serialization命名空间DataContract和DataMember方法.
有关此类数据加载的任何关于性能的想法?
我正在分析我的ASP.NET MVC应用程序,当我在IIS上点击我的本地版本时,我注意到反序列化大约77kb的对象需要大约100ms,这是预期的吗?
此外,CPU似乎最大限度地提高了性能,反序列化的任务非常激烈,或者我应该在其他地方寻找?
谢谢你提供的所有帮助.
c# ×3
iphone ×3
wpf ×3
hibernate ×2
oracle ×2
performance ×2
.net ×1
.net-4.0 ×1
actualwidth ×1
annotations ×1
core-data ×1
data-binding ×1
encoding ×1
json.net ×1
layout ×1
multi-touch ×1
silverlight ×1